package models

import "gorm.io/gorm"

type Goods struct {
	gorm.Model
	GoodsTitle  string  `gorm:"type:varchar(100);index;comment:商品标题" json:"goodsTitle"`
	GoodsDesc   string  `gorm:"type:varchar(200);comment:商品描述" json:"goodsDesc"`
	GoodsCover  string  `gorm:"type:varchar(200);comment:商品封面" json:"goodsCover"`
	GoodsPrice  float64 `gorm:"type:decimal(10,2);comment:商品价格" json:"goodsPrice"`
	CheckStatus int     `gorm:"type:int(11);default:0;comment:商品审核状态: 0待审核 1审核通过 2审核未通过" json:"checkStatus"`
	Status      int     `gorm:"type:int(11);default:0;comment:商品上架状态: 0下架 1上架" json:"status"`
	GoodsStock  int     `gorm:"type:int(11);default:50;comment:商品库存" json:"goodsStock"`
}

// 商品创建
func (g *Goods) Create() error {
	return DB.Debug().Create(&g).Error
}

// 查询详情
func (g *Goods) Detail() error {
	return DB.Debug().Where("id = ? and check_status = 1 and status =  1", g.ID).First(&g).Error
}

// 列表
func (g *Goods) List() (goodsList []*Goods, err error) {
	err = DB.Debug().Find(&goodsList).Error
	return goodsList, err
}
